using System;
using System.Collections.Generic;
using System.Text;

namespace TaugeLibrary.Interfaces
{
    public interface IPrintable
    {
        int doPrint();
        bool isPrintable();
    }

    public interface ISaveAble
    {
        int doSave();
        int doCancel();
        bool isSaveable();
    }

    public interface IPostable
    {
        int doPosting();
        int doUnPosting();
        bool isPostable();
        bool isUnPostable();
    }

    public interface ISearchable
    {
        int doSearch();
        bool isSearchable();
    }

    public interface INavigateable
    {
        int doMoveNext();
        int doMovePrev();
        int doMoveFirst();
        int doMoveLast();
        bool isNavigateable();
    }

    public interface IActionable
    {
        int doQuery();
        int doInsert();
        int doUpdate();
        int doDelete();
        bool isQueryable();
        bool isInsertable();
        bool isUpdateable();
        bool isDeleteable();
    }

    public interface IRefreshAble
    {
        int doRefresh();
        bool isRefreshable();
    }

    public interface ICancelable
    {
        int doCancel();
    }

    public interface IComplete : IPrintable, ISaveAble, IPostable, ISearchable, INavigateable, IActionable, IRefreshAble, ICancelable
    {

    }
}
